
    <!DOCTYPE html>
    <html lang="en">

    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>

    <body>
        <script>
        // 1.编写一个函数求两个数字之间有多少个质数
        //    例如：fn(100, 200) ，在控制台输出 100 - 200 之间的所有质数
        
        // 第一步 如何判断一个数是否是质数
        // var a = 7;
        // var count = 0;
        // for (var i = 1; i <= a; i++) {
        //     if (a % i == 0) {
        //         count++;
        //     }
        // }
        // if (count == 2) {
        //     console.log(a + "是质数");
        // } else {
        //     // console.log(a + "不是质数");
        // }
        
        // 第二步，不停的替换a的值  替换成 100-200 之间的所有数 
        
        // for (var j = 100; j <= 200; j++) {
        //     var a = j;
        //     var count = 0;
        //     for (var i = 1; i <= a; i++) {
        //         if (a % i == 0) {
        //             count++;
        //         }
        //     }
        //     if (count == 2) {
        //         console.log(a + "是质数");
        //     } else {
        //         // console.log(a + "不是质数");
        //     }
        // }
        
        
        // 第三步 封装成函数 ，替换变量
        
        
        // function fn(x, y) {
        //     for (var j = x; j <= y; j++) {
        //         var a = j;
        //         var count = 0;
        //         for (var i = 1; i <= a; i++) {
        //             if (a % i == 0) {
        //                 count++;
        //             }
        //         }
        //         if (count == 2) {
        //             console.log(a + "是质数");
        //         } else {
        //             // console.log(a + "不是质数");
        //         }
        //     }
        // }
        // 调用 
        // fn(100,200);
        // fn(200,300);
        
        
        // 按照功能封装函数 
        // 第一步 封装一个函数 判断某个数是否是一个质数
        // 设计原则里 ：单一原则
        
        // function isZ(a) {
        //     var count = 0;
        //     for (var i = 1; i <= a; i++) {
        //         if (a % i == 0) {
        //             count++;
        //         }
        //     }
        //     if (count == 2) {
        //         console.log(a + "是质数");
        //     } else {
        //         // console.log(a + "不是质数");
        //     }
        // }
        // // isZ(6);
        // // isZ(7)
        
        // // 第二步 ： 循环调用这个函数 ，然后传不同的参数
        // function fn(a, b) {
        //     for (var i = a; i <= b; i++) {
        //         isZ(i);
        //     }
        // }
        // fn(100, 200);
        
        
        
        // 判断 100-200之间的质数
        
        
        function fn(a, b) {
            for (var j = a; j <= b; j++) {
                isZ(j);
            }

            // 是fn的 子函数
            function isZ(a) {
                var count = 0;
                for (var i = 1; i <= a; i++) {
                    if (a % i == 0) {
                        count++;
                    }
                }
                if (count == 2) {
                    console.log(a + "是质数");
                } else {
                    // console.log(a + "不是质数");
                }
            }
        
        }
        fn(100, 200);

       
        
        
        </script>
    </body>

    </html>
